#!/bin/bash

# 确保有一个参数传入（指定文件夹名称）
if [ $# -ne 1 ]; then
    echo "使用方法: $0 <指定文件夹名称>"
    echo "例如: $0 results"
    exit 1
fi

# 获取当前脚本所在目录（项目根目录）
PROJECT_ROOT="$(cd "$(dirname "$0")" && pwd)"

# 指定要处理的文件夹路径
TARGET_DIR="$PROJECT_ROOT/$1"

# 检查指定文件夹是否存在
if [ ! -d "$TARGET_DIR" ]; then
    echo "错误: 指定的文件夹 '$TARGET_DIR' 不存在"
    exit 1
fi

# 删除项目根目录的wandb文件夹
if [ -d "$PROJECT_ROOT/wandb" ]; then
    echo "正在删除项目根目录的wandb文件夹..."
    rm -rf "$PROJECT_ROOT/wandb"
    echo "wandb文件夹已删除"
else
    echo "项目根目录中没有wandb文件夹，跳过此步骤"
fi

# 删除指定文件夹下所有的csv文件
CSV_FILES=$(find "$TARGET_DIR" -type f -name "*.csv")
if [ -n "$CSV_FILES" ]; then
    echo "正在删除指定文件夹下的所有csv文件..."
    find "$TARGET_DIR" -type f -name "*.csv" -exec rm -f {} +
    echo "所有csv文件已删除"
else
    echo "指定文件夹中没有csv文件，跳过此步骤"
fi

# 删除指定文件夹下的所有子文件夹
SUB_DIRS=$(find "$TARGET_DIR" -mindepth 1 -type d)
if [ -n "$SUB_DIRS" ]; then
    echo "正在删除指定文件夹下的所有子文件夹..."
    find "$TARGET_DIR" -mindepth 1 -type d -exec rm -rf {} +
    echo "所有子文件夹已删除"
else
    echo "指定文件夹中没有子文件夹，跳过此步骤"
fi

# 删除指定文件夹下的所有json文件
JSON_FILES=$(find "$TARGET_DIR" -type f -name "*.json")
if [ -n "$JSON_FILES" ]; then
    echo "正在删除指定文件夹下的所有json文件..."
    find "$TARGET_DIR" -type f -name "*.json" -exec rm -f {} +
    echo "所有json文件已删除"
else
    echo "指定文件夹中没有json文件，跳过此步骤"
fi

# 删除指定文件夹下的全局检查点文件（修正变量名拼写错误：gLOBAL → GLOBAL）
GLOBAL_CHECKPOINT_FILE="$TARGET_DIR/global_checkpoint.pt"
if [ -f "$GLOBAL_CHECKPOINT_FILE" ]; then
    echo "正在删除指定文件夹下的全局检查点文件..."
    rm -f "$GLOBAL_CHECKPOINT_FILE"
    echo "全局检查点文件已删除"
else
    echo "指定文件夹中没有全局检查点文件，跳过此步骤"
fi

echo "清理操作完成!"
exit 0